From b6001e6be36f69f155651313fc174a7ff493d845 Mon Sep 17 00:00:00 2001 From: Daniel Pfeiffer Date: Sat, 17 Jul 2004 08:08:57 +0000 Subject: [PATCH] (which-func-keymap): New var. (which-func-face): New face. (which-func-format): Use them. --- lisp/progmodes/which-func.el | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el index fef159d850f..87df0769314 100644 --- a/lisp/progmodes/which-func.el +++ b/lisp/progmodes/which-func.el @@ -99,7 +99,33 @@ Zero means compute the Imenu menu regardless of size." :group 'which-func :type 'integer) -(defcustom which-func-format '("[" which-func-current "]") +(defvar which-func-keymap + (let ((map (make-sparse-keymap))) + (define-key map [mode-line mouse-1] 'beginning-of-defun) + (define-key map [mode-line mouse-2] + (lambda () + (interactive) + (if (eq (point-min) 1) + (narrow-to-defun) + (widen)))) + (define-key map [mode-line mouse-3] 'end-of-defun) + map) + "Keymap to display on mode line which-func.") + +(defface which-func-face + '((t (:inherit font-lock-function-name-face))) + "Face used to highlight mode line function names. +Defaults to `font-lock-function-name-face' if font-lock is loaded." + :group 'which-func) + +(defcustom which-func-format + `("[" + (:propertize which-func-current + local-map ,which-func-keymap + face which-func-face + ;;mouse-face highlight ; currently not evaluated :-( + help-echo "mouse-1: go to beginning, mouse-2: toggle rest visibility, mouse-3: go to end") + "]") "Format for displaying the function in the mode line." :group 'which-func :type 'sexp) -- 2.30.2